package com.aatattoo.light_food_service.mapper;

import com.aatattoo.light_food_service.entity.Reply;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @Author aatattoo
 * @Date 2021/12/13 12:55 下午
 * @msg:
 */
@Mapper
@Repository
public interface ReplyMapper {
    /**
     * 添加回复
     * @param reply
     * @return
     */
    int addReply(Reply reply);

    /**
     * 删除回复通过评论Id
     * @param commentId
     * @return
     */
    int deleteByComent(@Param("commentId") int commentId);

    /**
     * 删除回复通过id
     * @param id
     * @return
     */
    int deleteById(@Param("id")int id);

    /**
     * 查找回复通过评论Id
     * @param commentId
     * @return
     */
    List<Reply> findeByComentId(@Param("commentId") int commentId);

    /**
     * 回复消息中未查看的数量
     * 排除用户回复自己的
     * @param userId 用户id
     * @return
     */
    int countRemind(@Param("userId")int userId);

    /**
     * 获取指定评论下所有回复数量
     * @param commentId
     * @return
     */
    int countReply(@Param("commentId")int commentId);
    /**
     * 更新回复用户的Remind状态
     * @param userId
     * @return
     */
    int updataRemind(@Param("userId")int userId);

    /**
     * 获取用户回复的所有回复ID
     * @param userId
     * @return
     */
    List<Reply> findActiveByUserId(@Param("userId")int userId);

    /**
     * 获取用户所有被回复的所有回复
     * @param userId
     * @return
     */
    List<Reply> findPassiveByUserId(@Param("userId")int userId);

    Reply findById(@Param("id")int id);


}
